37 research outputs found

    chemf : a purely functional chemistry toolkit

    Get PDF
    Background: Although programming in a type-safe and referentially transparent style offers several advantages over working with mutable data structures and side effects, this style of programming has not seen much use in chemistry-related software. Since functional programming languages were designed with referential transparency in mind, these languages offer a lot of support when writing immutable data structures and side-effects free code. We therefore started implementing our own toolkit based on the above programming paradigms in a modern, versatile programming language. Results: We present our initial results with functional programming in chemistry by first describing an immutable data structure for molecular graphs together with a couple of simple algorithms to calculate basic molecular properties before writing a complete SMILES parser in accordance with the OpenSMILES specification. Along the way we show how to deal with input validation, error handling, bulk operations, and parallelization in a purely functional way. At the end we also analyze and improve our algorithms and data structures in terms of performance and compare it to existing toolkits both object-oriented and purely functional. All code was written in Scala, a modern multi-paradigm programming language with a strong support for functional programming and a highly sophisticated type system. Conclusions: We have successfully made the first important steps towards a purely functional chemistry toolkit. The data structures and algorithms presented in this article perform well while at the same time they can be safely used in parallelized applications, such as computer aided drug design experiments, without further adjustments. This stands in contrast to existing object-oriented toolkits where thread safety of data structures and algorithms is a deliberate design decision that can be hard to implement. Finally, the level of type-safety achieved by Scala highly increased the reliability of our code as well as the productivity of the programmers involved in this project

    CyBy² : clevere Handhabung strukturbasierter Datensätze

    Get PDF

    CyBy2 : a strongly typed, purely functional framework for chemical data management

    Get PDF
    We present the development of CyBy2, a versatile framework for chemical data management written in purely functional style in Scala, a modern multi-paradigm programming language. Together with the core libraries we provide a fully functional example implementation of a HTTP server together with a single page web client with powerful querying and visualization capabilities, providing essential functionality for people working in the field of organic and medicinal chemistry. The main focus of CyBy2 are the diverse needs of different research groups in the field and therefore the flexibility required from the underlying data model. Techniques for writing type level specifications giving strong guarantees about the correctness of the implementation are described, together with the resulting gain in confidence during refactoring. Finally we talk about the advantages of using a single code base from which the server, the client and the software's documentation pages are being generated. We conclude with a comparison with existing open source solutions. All code described in this article is published under version 3 of the GNU General Public License and available from GitHub including an example implementation of both backend and frontend together with documentation how to download and compile the software (available at https://github.com/stefan-hoeck/cyby2)

    Prevalence and antimicrobial susceptibility of Arcobacter species in human stool samples derived from out- and inpatients: the prospective German Arcobacter prevalence study Arcopath

    Get PDF
    Background: Arcobacter species, particularly A. butzleri, but also A. cryaerophilus constitute emerging pathogens causing gastroenteritis in humans. However, isolation of Arcobacter may often fail during routine diagnostic procedures due to the lack of standard protocols. Furthermore, defined breakpoints for the interpretation of antimicrobial susceptibilities of Arcobacter are missing. Hence, reliable epidemiological data of human Arcobacter infections are scarce and lacking for Germany. We therefore performed a 13-month prospective Arcobacter prevalence study in German patients. Results: A total of 4636 human stool samples was included and Arcobacter spp. were identified from 0.85% of specimens in 3884 outpatients and from 0.40% of specimens in 752 hospitalized patients. Overall, A. butzleri was the most prevalent species (n = 24; 67%), followed by A. cryaerophilus (n = 10; 28%) and A. lanthieri (n = 2; 6%). Whereas A. butzleri, A. cryaerophilus and A. lanthieri were identified in outpatients, only A. butzleri could be isolated from samples of hospitalized patients. Antimicrobial susceptibility testing of Arcobacter isolates revealed high susceptibilities to ciprofloxacin, whereas bimodal distributions of MICs were observed for azithromycin and ampicillin. Conclusions: In summary, Arcobacter including A. butzleri, A. cryaerophilus and A. lanthieri could be isolated in 0.85% of German outpatients and ciprofloxacin rather than other antibiotics might be appropriate for antibiotic treatment of infections. Further epidemiological studies are needed, however, to provide a sufficient risk assessment of Arcobacter infections in humans

    Polysaccharide capsule composition of pneumococcal serotype 19A subtypes: Unaltered among subtypes and independent of the nutritional environment

    Get PDF
    Serotype 19A strains have emerged as a cause of invasive pneumococcal disease after the introduction of the seven-valent pneumococcal conjugate vaccine (PCV7) and serotype 19A has now been included in the recent thirteen-valent vaccine (PCV13). Genetic analysis has revealed at least three different capsular serotype 19A subtypes and nutritional environment dependent variation of the 19A capsule structure has been reported. Pneumococcal vaccine effectiveness and serotyping accuracy might be impaired by structural differences in serotype 19A capsules. We therefore analyzed the distribution of 19A subtypes collected within a Swiss national surveillance program and determined capsule composition in different nutritional conditions with high-performance liquid chromatography (HPLC), gas chromatography – mass spectrometry (GC-MS) and nuclear magnetic resonance spectroscopy (NMR). After the introduction of PCV7 a significant relative increase of subtype 19A-II and decrease of 19A-I occurred. Chemical analyses showed no difference in the composition as well as the linkage of 19A subtype capsular saccharides grown in defined and undefined growth media being consistent with a trisaccharide repeat unit composed of rhamnose, N-acetyl-mannosamine and glucose. In summary, our study suggests that no structural variance dependent of the nutritional environment or the subtype exists. The serotype 19A subtype shift observed after the introduction of the PCV7 can therefore not be explained by selection of a capsule variant. However, capsule composition analysis of emerging 19A clones is recommended in cases where there is no other explanation for a selective advantage such as antibiotic resistance or loss or acquisition of other virulence factor
    corecore